python IO并发 |
您所在的位置:网站首页 › python3 seek函数 › python IO并发 |
"""select tcp 服务重点代码 思路分析:1. 将关注的IO 放入到监控列表2. 当IO就绪时会通过select 返回3. 遍历返回值列表,得知哪个IO就绪进行处理""" from socket import *from select import select # 创建监听套接字,作为关注的IOs = socket()s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)s.bind(('0.0.0.0', 48888))s.listen(3) # 设置关注列表rlist = [s] # s用于等待处理连接wlist = []xlist = [] # 循环监控IOwhile True: rs, ws, xs = select(rlist, wlist, xlist) # 遍历返回值列表,得知哪个IO就绪进行处理 for r in rs: if r is s: c, addr = r.accept() print('Connect from', addr) rlist.append(c) else: # 有客户端发消息 data = r.recv(1024).decode() if not data: rlist.remove(r) r.close() continue print(data) # r.send(b'ok') wlist.append(r) for w in ws: w.send(b'ok') # 消息发完移除 wlist.remove(w) for x in xs: pass |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |